gsk: Fix render node serialization
authorMatthias Clasen <mclasen@redhat.com>
Thu, 28 Jan 2021 23:19:42 +0000 (18:19 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 28 Jan 2021 23:19:42 +0000 (18:19 -0500)
When looking for ascii glyphs, we must match
the pango shape flags that GTK is using.

gsk/gskrendernodeparser.c

index 90183482f25c65350ecc8eee406d56d5c47e2800..c53597732d56e477a84a884583595f42c1da9281 100644 (file)
@@ -689,14 +689,16 @@ create_ascii_glyphs (PangoFont *font)
   for (i = MIN_ASCII_GLYPH; i < MAX_ASCII_GLYPH; i++)
     {
       const char text[2] = { i, 0 };
+      PangoShapeFlags flags = 0;
 
-      pango_shape_with_flags (text,
-                              1,
-                              text,
-                              1,
+      if (cairo_version () < CAIRO_VERSION_ENCODE (1, 17, 4))
+        flags = PANGO_SHAPE_ROUND_POSITIONS;
+
+      pango_shape_with_flags (text, 1,
+                              text, 1,
                               &not_a_hack,
                               glyph_string,
-                              PANGO_SHAPE_ROUND_POSITIONS);
+                              flags);
 
       if (glyph_string->num_glyphs != 1)
         {